//未初始化或未清零的指针 指向错误的内存地址
#include <stdio.h>
#include <stdlib.h>

//修改后的代码 可以正常运行
int main()
{
    //下面的代码中，指针变量p没有被初始化为NULL指针,它将指向一个未知的内存地址：
    int *p=(int *)malloc(sizeof(int));
    *p=10;// 试图使用野指针
    printf("%d %p\n",*p,(void*)p);//打印p值和地址

    free(p);
    p=NULL;
    
    //指针变量结束后，释放后指针没有置为NULL，可能会指向未知的内存地址
    int *p2 = (int *)malloc(sizeof(int));
    *p2 = 12;
    printf("%d\n", *p2);
    free(p2);
    //释放后没置为NULL——野指针
    p2=NULL;
    printf("%p\n", (void*)p2);//0x0 NULL

    return 0;
    
}




